/**
 * ProductDAO接口定义了产品数据访问对象的方法
 * 它提供了对产品信息进行基本操作的功能，如查询、添加、更新和删除产品
 */
package com.aigou.admin.dao;

import com.aigou.admin.entity.Product;

import java.util.List;

public interface ProductDAO {
    /**
     * 获取所有产品信息
     * 
     * @return 返回一个包含所有产品的列表
     */
    List<Product> getAllProducts();
    
    /**
     * 根据产品ID获取产品信息
     * 
     * @param id 产品的唯一标识符
     * @return 返回指定ID的产品对象，如果找不到则返回null
     */
    Product getProductById(String id);
    
    /**
     * 添加新产品到数据库
     * 
     * @param product 要添加的新产品对象
     * @return 返回添加操作影响的行数，通常为1表示成功，0表示失败
     */
    int addProduct(Product product);
    
    /**
     * 更新数据库中的产品信息
     * 
     * @param product 包含更新后信息的产品对象
     * @return 返回更新操作影响的行数，通常为1表示成功，0表示失败
     */
    int updateProduct(Product product);
    
    /**
     * 根据产品ID删除产品
     * 
     * @param id 产品的唯一标识符
     * @return 返回删除操作影响的行数，通常为1表示成功，0表示失败
     */
    int deleteProduct(String id);
}
